// AssessmentDetailService.java
package com.projects.modular.realty.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.projects.modular.realty.entity.AssessmentDetail;
import com.projects.modular.realty.model.params.AssessmentDetailParam;
import java.util.List;

/**
 * 诊断详情服务接口
 *
 * @author 曾大顺
 * @since 2025-02-11
 */
public interface AssessmentDetailService extends IService<AssessmentDetail> {

    /**
     * 新增诊断详情
     *
     * @param assessmentDetailParam 诊断详情参数
     */
    void add(AssessmentDetailParam assessmentDetailParam);

    /**
     * 删除诊断详情
     *
     * @param assessmentDetailId 诊断详情ID
     */
    void deleteById(String assessmentDetailId);

    /**
     * 更新诊断详情
     *
     * @param assessmentDetailParam 诊断详情参数
     */
    void update(AssessmentDetailParam assessmentDetailParam);

    /**
     * 根据ID查询详情
     *
     * @param assessmentDetailId 评估详情ID
     * @return 诊断详情
     */
    AssessmentDetail getById(String assessmentDetailId);

    /**
     * 根据诊断ID查询所有评估详情
     *
     * @param diagnosisId 诊断ID
     * @return 评估详情列表
     */
    List<AssessmentDetail> getByDiagnosisId(String diagnosisId);

    /**
     * 根据诊断ID删除所有评估详情
     *
     * @param diagnosisId 诊断ID
     */
    void deleteByDiagnosisId(String diagnosisId);
}
